名称:RS232接收
符号:RS232_RECV
说明:
本体RS232串口配置为自由协议时,使用本功能块实现数据接收。
图片:
参数:
| 参数名称 | 数据类型 | IN/OUT | 参数作用 | 说明 |
|---|---|---|---|---|
| ENABLE | BOOL | IN | 功能块使能 | TRUE:功能块使能 |
| DATA | REF_TO_BYTE | IN | 存储首地址 | 据存储内存首地址(不可为空/NULL) |
| WILLLEN | WORD | IN | 期望接收长度 | 期望接收长度:不可大于DATA实际大小 |
| ACTUALLEN | WORD | OUT | 实际接收长度 | 当前时刻已经接收到的字节数 |
| DONE | BOOL | OUT | 成功标志 | 是否接收到了计划接收的字节数,TRUE:接收成功 |
| ERROR | BOOL | OUT | 错误标志 | 是否发生错误,TRUE:接收出错 |
| ERRORID | UDINT | OUT | 错误码 | 0:正常;其它:错误码值 |
错误码:
| 错误码 | 说明 |
|---|---|
| 0 | 无错误 |
| 3 | 接收数据过长或缓存区设置太小 |
| 4 | 当前端口正在被其他功能块使用 |
| 5 | 端口未配置为自由协议 |
| 6 | 存储首地址为空 |
示例:
LD:
ST:
解释:
当“ExecuteRecv1”操作数的信号状态从“0”变为“1”时,执行该指令,把收到的数据存入“DataRecv1”数组中。每检测到一个信号上升沿,就执行一次接收。当实际接收大小“ACTUALLEN1”等于“10”时,表示接收完成,“DONE1”输出状态会变“1”。